﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace GestionEco
{
    public abstract class Herbivore : Animal
    {

        public Herbivore(bool s, int uneVieMax, int uneAttaque, int uneEsquive, int desDegats, int uneVue, int uneRegen, int uneFaimMax, int unCoeffFaim, int uneSoifMax, int unCoeffSoif, int desPointsActionActuels, int unAgeMax, int uneMajorite, int unNbTourReprod, string n, Image img, List<String> unTypeTerrain)
            : base(s, uneVieMax, uneAttaque, uneEsquive, desDegats, uneVue, uneRegen, uneFaimMax, unCoeffFaim, uneSoifMax, unCoeffSoif, desPointsActionActuels, unAgeMax, uneMajorite, unNbTourReprod, n, img, unTypeTerrain)
        {
        }
        public override void seDeplacer()
        {
            base.seDeplacer();
        }

        public override void seRegenerer()
        {
            base.seRegenerer();
        }

        public override void vieillir()
        {
            base.vieillir();
        }

        public override void seNourrir(EtreVivant unePlante)
        {
            if (!retraitPoints(POINT_BOIRE))
            {
                Console.WriteLine("Plus de points pour manger");
            }
            else
            {
                //si la plante a plus de vie que faim max de l'herbivore
                if (unePlante.VieActuelle >= this.FaimMax)
                {
                    this.FaimActuelle = this.FaimMax;
                }
                else
                {
                    this.FaimActuelle += unePlante.VieActuelle;
                    if (this.FaimActuelle > this.FaimMax)
                    {
                        this.FaimActuelle = this.FaimMax;
                    }
                }
                //points de vie de la plante restant
                unePlante.VieActuelle = (this.FaimMax - this.FaimActuelle) - unePlante.VieActuelle;
            }
        }
    }
}
